package edu.ucsur.tp.libreriaelsaber.web.servlets;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import edu.ucsur.tp.libreriaelsaber.beans.UsuarioBean;
import edu.ucsur.tp.libreriaelsaber.dao.UsuarioDAO;
import edu.ucsur.tp.libreriaelsaber.dao.factories.DAOFactory;

public class LoginServlet extends HttpServlet {
	
  private static final long serialVersionUID = 1L;
  
  private static DAOFactory daoFactory = DAOFactory.getInstance(DAOFactory.MY_SQL);

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//Recibiendo los datos de usuario y clave
	  String usuario = request.getParameter("usuario");
	  String clave = request.getParameter("clave");
	  //Validar si el usuario y/o clave son validas
    UsuarioDAO usuarioDao = daoFactory.getUsuario();
	  UsuarioBean usuarioBean = usuarioDao.getUsuario(usuario);
	  if (usuarioBean == null) {
	    //-- ** Redireccionar nuevamente a la p�gina de login
	    //-- ** (usuario no existe en el sistema)
	    String error = "Usuario no existe en el sistema";
	    request.setAttribute("LibreriaElSaber_Login_Error", error);
	    request.setAttribute("usuario", usuario);
	    RequestDispatcher dispatcher = request.getRequestDispatcher("/login.jsp");
	    dispatcher.forward(request, response);
	  } else {
	    if (usuarioBean.getClave() != null &&
	        !usuarioBean.getClave().equals(clave)) {
	      //-- ** Redireccionar nuevamente a la p�gina de login
	      //-- ** (clave errada)
	      String error = "Clave errada";
	      request.setAttribute("LibreriaElSaber_Login_Error", error);
	      request.setAttribute("usuario", usuario);
	      RequestDispatcher dispatcher = request.getRequestDispatcher("/login.jsp");
	      dispatcher.forward(request, response);
	    }
	  }
	  //response.getWriter().println("<html><body>Bienvenidos al Sistema!</body></html>");
	  response.sendRedirect("listadoUsuariosUrl");
	}

}
